// openapi.ts
// ⚠️ 基于 OpenAPI 自动生成（简化），数据结构类型定义

export interface User {
    id?: string;
    name?: string;
    address?: string;
  }
  
  export interface Problem {
    problemId?: number;
    problemTitle?: string;
    problemDesc?: string;
    timeLimit?: string;
    memLimit?: string;
  }
  
  export interface TestCaseVO {
    sample?: boolean;
    input?: string;
    expected?: string;
  }
  
  export interface ProblemPostVO {
    title?: string;
    description?: string;
    testCases?: TestCaseVO[];
  }
  
  export interface Submission {
    code?: string;
    language?: string;
    inputWrongAnswer?: string;
    expected?: string;
    stdout?: string;
    error?: string;
    memoryUsed?: string;
    timeUsed?: string;
    status?: string;
    submission_id?: string;
    submitter_user_id?: number;
    problem_id?: string;
  }
  
  export interface ResultVOProblem {
    code?: number;
    message?: string;
    data?: Problem;
  }
  
  export interface ResultVOSubmission {
    code?: number;
    message?: string;
    data?: Submission;
  }
  
  export interface ResultVOObject {
    code?: number;
    message?: string;
    data?: object;
  }
  
  export interface ResultVOBoolean {
    code?: number;
    message?: string;
    data?: boolean;
  }
  
  export interface ResultVOListProblem {
    code?: number;
    message?: string;
    data?: Problem[];
  }
  
  export interface OrderItem {
    column?: string;
    asc?: boolean;
  }
  
  export interface PageSubmission {
    records?: Submission[];
    total?: number;
    size?: number;
    current?: number;
    orders?: OrderItem[];
    optimizeJoinOfCountSql?: boolean;
    maxLimit?: number;
    countId?: string;
    pages?: number;
  }
  
  export interface ResultVOPageSubmission {
    code?: number;
    message?: string;
    data?: PageSubmission;
  }
  